Do not interfere with errors that were suppressed by the @ operator. #388
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working on a legacy project, I noticed that execution threw a different set of error when Ignition was enabled. I noticed that the project makes use of the "@" operator, which suppresses some errors. Ignition is not taking this into consideration, and it will throw new exceptions even for suppressed errors.
This is because when you register an error handler, it will fire regardless of error suppressions, and one should check for a magic error_reporting value to detect that it was indeed suppressed. If the error is not being suppressed, then this value will be -1, as we set it originally.
My code checks for that special value, and if it finds it it return immediately, so Ignition does not fire.